/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sp.dao.i;

import java.util.List;

/**
 *
 * @author DINHDV
 */
public interface IObjectBase {

    /**
     * 
     * @param object
     * @return 
     */
    boolean insert(Object object);

    /**
     * 
     * @param object
     * @return 
     */
    boolean update(Object object);

    /**
     * 
     * @param clazz
     * @param id
     * @return 
     */
    boolean delete(Class clazz, int id);

    /**
     * 
     * @param clazz
     * @param id
     * @return 
     */
    Object getById(Class clazz, int id);

    /**
     * 
     * @param clazz
     * @return 
     */
    List<Object> getAll(Class clazz);
    
    /**
     * 
     * @param clazz
     * @param filterFieldName
     * @param filterValue
     * @return 
     */
    List<Object> filterByFieldName(Class clazz, String filterFieldName, String filterValue);
}
